package com.dragon.modules.yuegou.entity.wallet;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.wallet.EntityCardRecordStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 实体卡生成记录实体类<br>
 * 对应的表为：walt_entity_card_record<br>
 * 
 * @author pbuilder generated
 * @date 2021-03-30 14:13:31
 * @company sgy
 * @version 2.0
 */
@TableName("walt_entity_card_record")
@ApiModel(description = "实体卡生成记录")
public class EntityCardRecordEntity {

    /**  */
	protected String id;

    /** 悦卡模板id */
	@ApiModelProperty("悦卡模板id")
	protected String cardTemplateId;

    /** 卡号 */
	@ApiModelProperty("卡号")
	protected String cardNo;

    /** 卡密码 */
	@ApiModelProperty("卡密码")
	protected String cardPwd;

    /** 悦卡余额 */
	@ApiModelProperty("悦卡余额")
	protected BigDecimal remain;

    /** 悦卡总额（不变） */
	@ApiModelProperty("悦卡总额（不变）")
	protected BigDecimal amount;

    /** 版本 */
	@ApiModelProperty("版本")
	protected Integer version;

    /** 开始日期 */
	@ApiModelProperty("开始日期")
	protected LocalDate startDate;

    /** 结束日期 */
	@ApiModelProperty("结束日期")
	protected LocalDate endDate;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 会员id 绑卡之后插入 */
	@ApiModelProperty("会员id 绑卡之后插入")
	protected String memberId;

    /** 会员悦卡id */
	@ApiModelProperty("会员悦卡id")
	protected String memberCardId;

    /** 会员钱包id */
	@ApiModelProperty("会员钱包id")
	protected String memberWalletId;

    /** [枚举]激活状态：0-未激活-UNACTIVATED、1-激活-ACTIVATED、2-已注销-CANCELLED */
	@ApiModelProperty("[枚举]激活状态：0-未激活-UNACTIVATED、1-激活-ACTIVATED、2-已注销-CANCELLED")
	protected EntityCardRecordStatus status;

	/**
	 * 构造一个空实体卡生成记录实体对象
	 */
	public EntityCardRecordEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个实体卡生成记录实体对象
	 * 
	 * @param other 其它对象
	 */
	public EntityCardRecordEntity(EntityCardRecordEntity other){
		super();
     	this.id = other.id;
     	this.cardTemplateId = other.cardTemplateId;
     	this.cardNo = other.cardNo;
     	this.cardPwd = other.cardPwd;
     	this.remain = other.remain;
     	this.amount = other.amount;
     	this.version = other.version;
     	this.startDate = other.startDate;
     	this.endDate = other.endDate;
     	this.createdTime = other.createdTime;
     	this.memberId = other.memberId;
     	this.memberCardId = other.memberCardId;
     	this.memberWalletId = other.memberWalletId;
     	this.status = other.status;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取悦卡模板id
	 * 
	 * @return cardTemplateId 悦卡模板id
	 */
	public String getCardTemplateId() {
		return cardTemplateId;
	}
  	
	/**
	 * 设置悦卡模板id
	 * 
	 * @param cardTemplateId 悦卡模板id
	 */
	public void setCardTemplateId(String cardTemplateId) {
		this.cardTemplateId = cardTemplateId;
	}

	/**
	 * 获取卡号
	 * 
	 * @return cardNo 卡号
	 */
	public String getCardNo() {
		return cardNo;
	}
  	
	/**
	 * 设置卡号
	 * 
	 * @param cardNo 卡号
	 */
	public void setCardNo(String cardNo) {
		this.cardNo = cardNo;
	}

	/**
	 * 获取卡密码
	 * 
	 * @return cardPwd 卡密码
	 */
	public String getCardPwd() {
		return cardPwd;
	}
  	
	/**
	 * 设置卡密码
	 * 
	 * @param cardPwd 卡密码
	 */
	public void setCardPwd(String cardPwd) {
		this.cardPwd = cardPwd;
	}

	/**
	 * 获取悦卡余额
	 * 
	 * @return remain 悦卡余额
	 */
	public BigDecimal getRemain() {
		return remain;
	}
  	
	/**
	 * 设置悦卡余额
	 * 
	 * @param remain 悦卡余额
	 */
	public void setRemain(BigDecimal remain) {
		this.remain = remain;
	}

	/**
	 * 获取悦卡总额（不变）
	 * 
	 * @return amount 悦卡总额（不变）
	 */
	public BigDecimal getAmount() {
		return amount;
	}
  	
	/**
	 * 设置悦卡总额（不变）
	 * 
	 * @param amount 悦卡总额（不变）
	 */
	public void setAmount(BigDecimal amount) {
		this.amount = amount;
	}

	/**
	 * 获取版本
	 * 
	 * @return version 版本
	 */
	public Integer getVersion() {
		return version;
	}
  	
	/**
	 * 设置版本
	 * 
	 * @param version 版本
	 */
	public void setVersion(Integer version) {
		this.version = version;
	}

	/**
	 * 获取开始日期
	 * 
	 * @return startDate 开始日期
	 */
	public LocalDate getStartDate() {
		return startDate;
	}
  	
	/**
	 * 设置开始日期
	 * 
	 * @param startDate 开始日期
	 */
	public void setStartDate(LocalDate startDate) {
		this.startDate = startDate;
	}

	/**
	 * 获取结束日期
	 * 
	 * @return endDate 结束日期
	 */
	public LocalDate getEndDate() {
		return endDate;
	}
  	
	/**
	 * 设置结束日期
	 * 
	 * @param endDate 结束日期
	 */
	public void setEndDate(LocalDate endDate) {
		this.endDate = endDate;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取会员id 绑卡之后插入
	 * 
	 * @return memberId 会员id 绑卡之后插入
	 */
	public String getMemberId() {
		return memberId;
	}
  	
	/**
	 * 设置会员id 绑卡之后插入
	 * 
	 * @param memberId 会员id 绑卡之后插入
	 */
	public void setMemberId(String memberId) {
		this.memberId = memberId;
	}

	/**
	 * 获取会员悦卡id
	 * 
	 * @return memberCardId 会员悦卡id
	 */
	public String getMemberCardId() {
		return memberCardId;
	}
  	
	/**
	 * 设置会员悦卡id
	 * 
	 * @param memberCardId 会员悦卡id
	 */
	public void setMemberCardId(String memberCardId) {
		this.memberCardId = memberCardId;
	}

	/**
	 * 获取会员钱包id
	 * 
	 * @return memberWalletId 会员钱包id
	 */
	public String getMemberWalletId() {
		return memberWalletId;
	}
  	
	/**
	 * 设置会员钱包id
	 * 
	 * @param memberWalletId 会员钱包id
	 */
	public void setMemberWalletId(String memberWalletId) {
		this.memberWalletId = memberWalletId;
	}

	/**
	 * 获取[枚举]激活状态：0-未激活-UNACTIVATED、1-激活-ACTIVATED、2-已注销-CANCELLED
	 * 
	 * @return status [枚举]激活状态：0-未激活-UNACTIVATED、1-激活-ACTIVATED、2-已注销-CANCELLED
	 */
	public EntityCardRecordStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]激活状态：0-未激活-UNACTIVATED、1-激活-ACTIVATED、2-已注销-CANCELLED
	 * 
	 * @param status [枚举]激活状态：0-未激活-UNACTIVATED、1-激活-ACTIVATED、2-已注销-CANCELLED
	 */
	public void setStatus(EntityCardRecordStatus status) {
		this.status = status;
	}

    public String toString() {
		return new StringBuilder().append("EntityCardRecordEntity{").
			append("id=").append(id).
			append(",cardTemplateId=").append(cardTemplateId).
			append(",cardNo=").append(cardNo).
			append(",cardPwd=").append(cardPwd).
			append(",remain=").append(remain).
			append(",amount=").append(amount).
			append(",version=").append(version).
			append(",startDate=").append(startDate).
			append(",endDate=").append(endDate).
			append(",createdTime=").append(createdTime).
			append(",memberId=").append(memberId).
			append(",memberCardId=").append(memberCardId).
			append(",memberWalletId=").append(memberWalletId).
			append(",status=").append(status).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public EntityCardRecordEntity copy() {
		return new EntityCardRecordEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /** 悦卡模板id */
	public static final String COL_CARD_TEMPLATE_ID = "card_template_id";

    /** 卡号 */
	public static final String COL_CARD_NO = "card_no";

    /** 卡密码 */
	public static final String COL_CARD_PWD = "card_pwd";

    /** 悦卡余额 */
	public static final String COL_REMAIN = "remain";

    /** 悦卡总额（不变） */
	public static final String COL_AMOUNT = "amount";

    /** 版本 */
	public static final String COL_VERSION = "version";

    /** 开始日期 */
	public static final String COL_START_DATE = "start_date";

    /** 结束日期 */
	public static final String COL_END_DATE = "end_date";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 会员id 绑卡之后插入 */
	public static final String COL_MEMBER_ID = "member_id";

    /** 会员悦卡id */
	public static final String COL_MEMBER_CARD_ID = "member_card_id";

    /** 会员钱包id */
	public static final String COL_MEMBER_WALLET_ID = "member_wallet_id";

    /** [枚举]激活状态：0-未激活-UNACTIVATED、1-激活-ACTIVATED、2-已注销-CANCELLED */
	public static final String COL_STATUS = "status";
}
